home *** CD-ROM | disk | FTP | other *** search
Wrap
Applesoft BASIC Source Code | 1984-10-29 | 11.6 KB | 176 lines | [FC] Applesoft BASIC Program (0x0801)
1 ONERR GOTO 2000 10 TEXT : HOME : GOSUB 1440:F$ = "#######.##":I$ = "###.###%":DL$ = "#$#####.##": DIM A$(5): DIM I(5) 20 TEXT : HOME : GOSUB 450: PRINT TAB( 7);"BUSINESS ( FINANCIAL ) SERIES": PRINT : GOSUB 450: PRINT " MENU... (A) DEPRECIATION": PRINT : PRINT " (B) INTEREST": PRINT : PRINT TAB( 13);"(C) LOANS": PRINT : PRINT TAB( 13);"(D) INVESTMENTS": PRINT : PRINT TAB( 13);"(E) DEPOSITS": PRINT : PRINT TAB( 13);"(F) AMORTIZATION": PRINT : PRINT TAB( 13);"(G) END PROGRAM": PRINT 25 VTAB 21: CALL -868 30 PRINT "WHICH (A-G) ? ";: GET A$: PRINT A$: IF A$ = CHR$(27) THEN A$ = "G" 35 IF ASC(A$) <65 OR ASC(A$) >71 AND ASC(A$) <97 OR ASC(A$) >103 THEN 25 40 IF A$ = "A" OR A$ = "a" THEN 120 50 IF A$ = "B" OR A$ = "b" THEN 180 60 IF A$ = "C" OR A$ = "c" THEN 250 70 IF A$ = "D" OR A$ = "d" THEN 330 80 IF A$ = "E" OR A$ = "e" THEN 400 90 IF A$ = "F" OR A$ = "f" THEN 430 100 IF A$ = "G" OR A$ = "g" THEN 4000 110 GOTO 30 120 HOME : GOSUB 450: PRINT TAB( 11);"((( DEPRECIATION )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT TAB( 10);"1. DEPRECIATION RATE": PRINT : PRINT TAB( 10);"2. DEPRECIATION AMOUNT": PRINT : PRINT TAB( 10);"3. SALVAGE VALUE": PRINT : PRINT TAB( 10);"4. RETURN TO MENU": PRINT : PRINT : PRINT : PRINT 125 VTAB 20: CALL -958 130 INPUT "WHICH (1-4) ? ";A$: IF A$ = "1" THEN 470 140 IF A$ = "2" THEN 510 150 IF A$ = "3" THEN 540 160 IF A$ = "4" THEN 20 170 GOTO 125 180 HOME : GOSUB 450: PRINT TAB( 13);"((( INTEREST )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT "1. NOMINAL INTEREST RATE ON INVESTMENTS": PRINT : PRINT "2. EFFECTIVE INTEREST RATES ON INVSTMNT": PRINT : PRINT "3. EARNED INTEREST TABLE": PRINT : PRINT "4. ANNUAL INTEREST RATE ON A LOAN": PRINT : PRINT "5. RETURN TO MENU": PRINT : PRINT 185 VTAB 20: CALL -958 190 INPUT "WHICH (1-5) ? ";A$: IF A$ = "1" THEN 580 200 IF A$ = "2" THEN 620 210 IF A$ = "3" THEN 660 220 IF A$ = "4" THEN 870 230 IF A$ = "5" THEN 20 240 GOTO 185 250 HOME : GOSUB 450: PRINT TAB( 15);"((( LOANS )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT TAB( 7);"1. PRINCIPAL ON A LOAN": PRINT : PRINT TAB( 7);"2. REGULAR PAYMENT ON A LOAN": PRINT : PRINT TAB( 7);"3. LAST PAYMENT ON A LOAN": PRINT : PRINT TAB( 7);"4. REMAINING BALANCE ON A LOAN": PRINT : PRINT TAB( 7);"5. TERM OF A LOAN": PRINT : PRINT TAB( 7);"6. RETURN TO MENU": PRINT : PRINT 255 VTAB 22: CALL -958 260 INPUT "WHICH (1-6) ? ";A$: IF A$ = "1" THEN 940 270 IF A$ = "2" THEN 970 280 IF A$ = "3" THEN 1000 290 IF A$ = "4" THEN 1030 300 IF A$ = "5" THEN 1060 310 IF A$ = "6" THEN 20 320 GOTO 255 330 HOME : GOSUB 450: PRINT TAB( 16);"INVESTMENTS": PRINT : GOSUB 450: PRINT : PRINT : PRINT " 1. INITIAL INVESTMENT": PRINT : PRINT " 2. FUTURE VALUE OF AN INVESTMENT": PRINT : PRINT " 3. REGULAR WITHDRAWALS FROM INVESTMENT": PRINT : PRINT " 4. MINIMUM INVESTMENT FOR WITHDRAWAL": PRINT : PRINT " 5. RETURN TO MENU...": PRINT : PRINT 335 VTAB 20: CALL -958 340 INPUT "WHICH (1-5) ? ";A$: IF A$ = "1" THEN 1090 350 IF A$ = "2" THEN 1120 360 IF A$ = "3" THEN 1150 370 IF A$ = "4" THEN 1180 380 IF A$ = "5" THEN 20 390 GOTO 335 400 HOME : GOSUB 450: PRINT TAB( 13);"((( DEPOSITS )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT " 1. FUTURE VALUE OF REGULAR DEPOSITS": PRINT TAB( 29);"(ANNUITY)": PRINT : PRINT " 2. REGULAR DEPOSITS" 405 PRINT : PRINT : PRINT " 3. RETURN TO MENU..." 407 VTAB 19: CALL -958: INPUT "WHICH (1-3) ? ";A$: IF A$ = "1" THEN 1210 410 IF A$ = "2" THEN 1240 420 IF A$ = "3" THEN 20 425 GOTO 407 430 HOME : GOSUB 450: PRINT TAB( 11);"((( AMORTIZATION )))": PRINT : GOSUB 450: PRINT : PRINT : PRINT TAB( 6);"1. MORTGAGE AMORTIZATION TABLE": PRINT : PRINT TAB( 6);"2. RETURN TO MENU..." 435 VTAB 14: CALL -958: INPUT "WHICH (1-2) ? ";A$: IF A$ = "1" THEN 1270 440 IF A$ = "2" THEN 20 445 GOTO 435 450 FOR I = 1 TO 39: PRINT "*";: NEXT I: PRINT "*": RETURN 460 FOR I = 1 TO 39: PRINT "-";: NEXT I: PRINT "-": RETURN 470 POKE 34,10: HOME : PRINT : PRINT 480 INPUT "ENTER THE ORIGINAL VALUE.........$";P: PRINT : INPUT "ENTER THE RESALE PRICE...........$";T: PRINT : INPUT "DEPRECIATE OVER HOW MANY YEARS...#";Y:D = 100 *(1 -(T/P) ^(1/Y)): PRINT : GOSUB 460 485 SPEED= 100: PRINT "THE DEPRECIATION RATE IS ";: & PRINT USEI$;D: SPEED= 255: PRINT : GOSUB 460 490 GOSUB 1500: ON GT = 1 GOTO 470: ON GT = 2 GOTO 20 510 HOME : GOSUB 450: PRINT TAB( 7);"((( DEPRECIATION AMOUNT )))": PRINT : GOSUB 450: PRINT : INPUT "ENTER ORIGINAL PRICE.........$";P: PRINT : INPUT "WHAT'S THE DEPRECIATION RATE...%";I5: PRINT :I5 = I5/100: INPUT "ENTER NUMBER OF YEARS.............#";Y: PRINT :D = P *I5 *(1 -I5) ^(Y -1): GOSUB 460: SPEED= 100 520 PRINT TAB( 5);"DEPRECIATION AMOUNT IS ";: & PRINT USEDL$;D: SPEED= 255: PRINT : GOSUB 460 530 GOSUB 1500: ON GT = 1 GOTO 510: ON GT = 2 GOTO 20 540 POKE 34,8: HOME : PRINT TAB( 11);"*** SALVAGE VALUE ***": PRINT : PRINT : INPUT "ENTER ORIGINAL PRICE.........$";P: PRINT : INPUT "ENTER DEPRECIATION RATE......%";I5: PRINT : INPUT "ENTER NUMBER YEARS...........#";Y: PRINT : GOSUB 460: SPEED= 100: PRINT TAB( 10);"SALVAGE VALUE IS ";: & PRINT USEDL$;P *(1 -I5/100) ^Y: SPEED= 255: PRINT : GOSUB 460 560 GOSUB 1500: ON GT = 1 GOTO 540: ON GT = 2 GOTO 20 580 POKE 34,10: HOME : PRINT : PRINT 590 HOME : INPUT "ENTER PRINCIPAL AMT OF INVESTMENT ";P: PRINT : INPUT "ENTER TOTAL VALUE AT MATURITY.....";T: PRINT : INPUT "ENTER NUMBER OF YEARS.............";Y: PRINT : INPUT "COMPOUNDING PERIODS PER YEAR ?....";N: PRINT :I2 = N *((T/P) ^(1/(N *Y)) -1) *100: PRINT : GOSUB 460: SPEED= 100 600 PRINT "THE NOMINAL INTEREST RATE IS ";: & PRINT USEI$;I2: SPEED= 255: PRINT : GOSUB 460 610 GOSUB 1500: ON GT = 1 GOTO 580: ON GT = 2 GOTO 20 620 POKE 34,8: HOME : PRINT "(EFFECTIVE INTEREST RATE ON INVESTMENTS)": INPUT "ENTER INITIAL INVESTMENT..........$";P: PRINT : INPUT "TOTAL VALUE AFTER (X) # OF YEARS $ ";T: PRINT : INPUT "ENTER NUMBER OF YEARS.............#";Y: PRINT : GOSUB 460: SPEED= 100: PRINT TAB( 7)"ANNUAL INTEREST RATE IS ";: & PRINT USEI$;((T/P) ^(1/Y) -1) *100 630 SPEED= 255: PRINT : GOSUB 460 640 GOSUB 1500: ON GT = 1 GOTO 620: ON GT = 2 GOTO 20 660 HOME : GOSUB 450: PRINT TAB( 7);"((( EARNED INTEREST TABLE )))": PRINT : GOSUB 450: PRINT : PRINT : INPUT "ENTER PRINCIPAL AMOUNT...........$";P: PRINT : INPUT "NOMINAL INTEREST RATE............%";I5: PRINT :I5 = I5/100 665 DEF FN R(X) = INT(X *100 +.5)/100: INPUT "HOW MANY DEPOS/WITHDRAWALS PER YEAR ";N1: PRINT : IF N1 = 0 THEN 680 670 INPUT "AMOUNT OF DEPOS/WITHDRAWAL.........$";R: PRINT :N = 360:L2 = N1: GOTO 690 680 INPUT "COMPOUNDING PERIODS PER YEAR.......#";N: PRINT :N1 = 0:L2 = 4 690 INPUT "STARTING WITH WHAT YEAR......(1-30) ";X: PRINT : INPUT "STOP PRINTING WITH WHAT YEAR (1-30) ";Y: PRINT : POKE 34,0: HOME 692 IF X >1 THEN VTAB 5: PRINT "CALCULATING WILL TAKE A FEW MINUTES.": PRINT "PLEASE WAIT..." 698 X = INT(X):B0 = P:I1 = 0:I2 = 0:I3 = 0:K = 66:P1 = 4: FOR J0 = 1 TO INT(Y) +1: IF J0 <X THEN 730 700 IF K <55 THEN 730 710 FOR K1 = K TO 66: PRINT : NEXT K1:K = 6: GOSUB 450: PRINT TAB( 7);"((( EARNED INTEREST TABLE )))": PRINT : GOSUB 450: PRINT "PRINCIPAL = $";P: PRINT "AT ";I5 *100;" % FOR ";Y;" YEARS": GOSUB 460: IF N1 = 0 THEN 727 720 PRINT "DEPOSITS/WITHDRAWALS:": & PRINT USE"#$####.## ## TIMES/YEAR";R,N1: GOSUB 460:ZF = FN R(100 *((1 +15/N) ^N -1)) 725 & PRINT USE"EFFECTIVE INTEREST RATE IS ##.###%";ZF: PRINT "PER YEAR.": PRINT 727 PRINT "YEAR BALANCE INTEREST ACC/INTEREST" 730 L1 = 1:N2 = 1:P2 = 1: FOR J1 = 1 TO N: IF N2 >N1 THEN 760 740 IF N2/N1 >J1/N THEN 760 750 B0 = B0 +R:N2 = N2 +1 760 B2 = B0 *(1 +I5/N):I1 = B2 -B0:I3 = I3 +I1:I2 = I2 +I1: IF P2/P1 >J1/N THEN 780 770 I2 = FN R(I2):B2 = FN R(B2):P2 = P2 +1 780 IF J0 <X THEN 810 790 IF J1/N <L1/L2 THEN 810 800 L1 = L1 +1: DEF FN R(X) = INT(X *100 +.5)/100: & PRINT USE"### ######.## ######.## ######.##";J0,B2,I3,I2:I3 = 0:K = K +1 810 B0 = B2: IF J0 +J1/N -1 > = Y THEN 850 820 NEXT J1: IF J0 <X THEN 840 830 PRINT :K = K +1 840 NEXT J0 850 GOSUB 1500: ON GT = 1 GOTO 660: ON GT = 2 GOTO 20 870 HOME : GOSUB 450: PRINT TAB( 6);"ANNUAL INTEREST RATE ON A LOAN": PRINT : GOSUB 450: PRINT : INPUT "ENTER REGULAR PAYMENT AMOUNT....$";R: PRINT 875 INPUT "ENTER TERM IN YEARS.............#";Y: PRINT : INPUT "ENTER PRINCIPAL AMOUNT..........$";P: PRINT : INPUT "NUMBER OF PAYMENTS PER YEAR.....#";N: PRINT :I6 = 1:I2 = 0 880 R1 = (I6 *P/N)/(1 -1/((I6/N +1) ^(N *Y))):R1 = INT(R1 *100 +.5)/100:I3 = ABS(I6 -I2)/2:I2 = I6: IF ABS(R1 -R) <.000001 THEN 920 890 IF R1 >R THEN 910 900 I6 = I6 +I3: GOTO 880 910 I6 = I6 -I3: GOTO 880 920 I6 = (( INT((I6 *1000) *100 +.5))/100)/1000: GOSUB 460: PRINT TAB( 5);"ANNUAL INTEREST RATE IS ";: & PRINT USEI$;I6 *100: PRINT : GOSUB 460 930 GOSUB 1500: ON GT = 1 GOTO 870: ON GT = 2 GOTO 20 940 HOME : GOSUB 450: PRINT TAB( 8);"((( PRINCIPAL ON A LOAN )))": PRINT : GOSUB 450: INPUT "REGULAR PAYMENT AMOUNT..........$";R: PRINT : INPUT "TERM IN YEARS...................#";Y: PRINT : INPUT "ENTER ANNUAL INTEREST RATE......%";I5: PRINT : INPUT "ENTER NUMBER OF PAYMENTS/YEAR...#";N: PRINT 950 P = R *N *(1 -1/((I5/100)/N +1) ^(N *Y))/(I5/100): GOSUB 460: & PRINT USE"!!! PRINCIPAL IS #$####.## !!!";P: PRINT : GOSUB 460 960 GOSUB 1500: ON GT = 1 GOTO 940: ON GT = 2 GOTO 20 970 HOME : GOSUB 450: PRINT TAB( 7);"REGULAR PAYMENT ON A LOAN": PRINT : GOSUB 450: PRINT : INPUT "WHAT IS TERM IN YEARS.........#";Y: PRINT : INPUT "WHAT IS PRINCIPAL AMOUNT......$";P: PRINT : INPUT "ENTER ANNUAL INTEREST RATE....%";I5: PRINT : INPUT "NUMBER OF PAYMENTS/YEAR.......#";N: PRINT :R = ((I5/100) *P/N)/(1 -1/((I5/100)/N +1) ^(N *Y)) 980 GOSUB 460: & PRINT USE" REGULAR PAYMENT IS #$####.##";R: PRINT : GOSUB 460 990 GOSUB 1500: ON GT = 1 GOTO 970: ON GT = 2 GOTO 20 1000 HOME : GOSUB 450: PRINT TAB( 6);"((( LAST PAYMENT ON A LOAN )))": PRINT : GOSUB 450: PRINT : INPUT "ENTER REGULAR PAYMENT AMOUNT..$";R: PRINT : INPUT "ENTER PRINCIPAL AMOUNT........$";P: PRINT : INPUT "ENTER THE TERM IN YEARS.......#";Y: PRINT : INPUT "ENTER ANNUAL INTEREST RATE....%";I5: PRINT :I5 = I5/100 1010 INPUT "NUMBER OF PAYMENTS PER/YEAR...#";N: PRINT :B0 = P: FOR J1 = 1 TO N *Y:I1 = INT((B0 *I5/N) *100 +.5)/100:A = R -I1:B0 = B0 -A: NEXT J1: GOSUB 460: & PRINT USE" LAST PAYMENT IS #$####.##";R +B0: PRINT : GOSUB 460 1020 GOSUB 1500: ON GT = 1 GOTO 1000: ON GT = 2 GOTO 20 1030 HOME : GOSUB 450: PRINT TAB( 8);"REMAINING BALANCE ON A LOAN": PRINT : GOSUB 450: INPUT "ENTER REGULAR PAYMENT AMOUNT.....$";R: PRINT : INPUT "ENTER PRINCIPAL AMOUNT...........$";P: PRINT : INPUT "NUMBER OF PAYMENTS PER/YEAR......#";N: PRINT : INPUT "ENTER ANNUAL INTEREST RATE.......%";I5: PRINT :I5 = I5/100 1040 PRINT "ENTER NUMBER OF PAYMENTS MADE....#";: INPUT N1:B0 = P: FOR J1 = 1 TO N1:I1 = INT((B0 *I5/N) *100 +.5)/100:A = R -I1:B0 = B0 -A: NEXT J1: GOSUB 460: & PRINT USE" REMAINING BALANCE IS #$#####.##";B0: PRINT : GOSUB 460 1050 GOSUB 1500: ON GT = 1 GOTO 1030: ON GT = 2 GOTO 20 1060 HOME : GOSUB 450: PRINT TAB( 10);"((( TERM OF A LOAN )))": PRINT : GOSUB 450: PRINT : INPUT "ENTER REGULAR PAYMENT AMOUNT.... $";R: PRINT : INPUT "ENTER PRINCIPAL AMOUNT...........$";P: PRINT : INPUT "ENTER ANNUAL INTEREST RATE.......%";I5: PRINT : INPUT "NUMBER OF PAYMENTS/YEAR..........#";N: PRINT 1065 IF (1 -(P *(I5/100))/(N *R))/( LOG(1 +I5/100/N) *N) <0 THEN PRINT "YOU'LL NEVER MAKE IT AT THAT RATE!": GOTO 1080 1070 Y = -( LOG(1 -(P *(I5/100))/(N *R))/( LOG(1 +I5/100/N) *N)): GOSUB 460: & PRINT USE" !!! TERM IS ### YEARS !!!";Y: PRINT : GOSUB 460 1080 GOSUB 1500: ON GT = 1 GOTO 1060: ON GT = 2 GOTO 20 1090 HOME : GOSUB 450: PRINT TAB( 8);"((( INITIAL INVESTMENT )))": PRINT : GOSUB 450: PRINT : INPUT "VALUE AFTER (X)# OF YEARS........#";T: PRINT : INPUT "NUMBER OF COMPOUNDING PERIODS/YEAR.#";N: PRINT : INPUT "LENGTH OF INVESTMENT (YEARS).......#";Y: PRINT : INPUT "WHAT NOMINAL INTEREST RATE.........%";I5: PRINT :I5 = I5/N/100 1100 P = T/(1 +I5) ^(N *Y): GOSUB 460: SPEED= 100: & PRINT USE" INITIAL INVESTMENT IS #$####.##";P: PRINT : SPEED= 255: GOSUB 460 1110 GOSUB 1500: ON GT = 1 GOTO 1090: ON GT = 2 GOTO 20 1120 HOME : GOSUB 450: PRINT TAB( 7);"FUTURE VALUE OF AN INVESTMENT": PRINT : GOSUB 450: PRINT : PRINT : INPUT "ENTER INITIAL INVESTMENT.........$";P: PRINT : INPUT "NOMINAL INTEREST RATE............%";I5: PRINT : INPUT "COMPOUNDING PERIODS PER/YEAR.....#";N: PRINT : INPUT "ENTER NUMBER OF YEARS............#";Y: PRINT :I5 = I5/N/100 1130 T = P *(1 +I5) ^(N *Y): GOSUB 460: SPEED= 100: & PRINT USE" !!! FUTURE VALUE IS #$####.## !!!";T: SPEED= 255: PRINT : GOSUB 460 1140 GOSUB 1500: ON GT = 1 GOTO 1120: ON GT = 2 GOTO 20 1150 HOME : GOSUB 450: PRINT " REGULAR WITHDRAWALS FROM AN INVESTMENT": PRINT : GOSUB 450: PRINT : INPUT "ENTER INITIAL INVESTMENT.........$";P: PRINT : INPUT "NOMINAL INTEREST RATE............%";I5: PRINT : INPUT "HOW MANY WITHDRAWALS EACH YEAR...#";N: PRINT : INPUT "NUMBERS OF YEARS.................#";Y: PRINT :I5 = I5/N/100 1160 R = P *(I5/((1 +I5) ^(N *Y) -1) +I5): GOSUB 460: SPEED= 100: & PRINT USE"AMOUNT OF EACH WITHDRAWAL IS #$####.##";R: PRINT : SPEED= 255: GOSUB 460 1170 GOSUB 1500: ON GT = 1 GOTO 1150: ON GT = 2 GOTO 20 1180 HOME : GOSUB 450: PRINT "** MINIMUM INVESTMENT FOR WITHDRAWAL **": PRINT : GOSUB 450: PRINT : PRINT : INPUT "AMOUNT OF WITHDRAWALS............$";R: PRINT : INPUT "ENTER NOMINAL INTEREST RATE......%";I5: PRINT : INPUT "HOW MANY WITHDRAWALS EACH YEAR...#";N: PRINT : INPUT "ENTER NUMBER OF YEARS............#";Y:I5 = I5/100 1190 P = R *N/I5 *(1 -1/((1 +I5/N) ^(N *Y))): PRINT : GOSUB 460: SPEED= 100: & PRINT USE" INVESTMENT REQUIRED IS #$#####.##";P: PRINT : SPEED= 255: GOSUB 460 1200 GOSUB 1500: ON GT = 1 GOTO 1180: ON GT = 2 GOTO 20 1210 HOME : GOSUB 450: PRINT " FUTURE VALUE OF REGULAR DEPOSITS": PRINT " (ANNUITY)": PRINT : GOSUB 450: PRINT : INPUT "AMOUNT OF REGULAR DEPOSITS........$";R: PRINT : INPUT "ENTER NOMINAL INTEREST RATE.......%";I5: PRINT : INPUT "HOW MANY DEPOSITS EACH YEAR.......#";N: PRINT 1220 INPUT "ENTER NUMBER OF YEARS.............#";Y:I5 = I5/N/100:T = R *((1 +I5) ^(N *Y) -1)/I5: PRINT : GOSUB 460: SPEED= 100: & PRINT USE" FUTURE VALUE IS #$####.##";T: PRINT : SPEED= 255: GOSUB 460 1230 GOSUB 1500: ON GT = 1 GOTO 1210: ON GT = 2 GOTO 20 1240 HOME : CLEAR : GOSUB 450: PRINT TAB( 9);"*** REGULAR DEPOSITS ***": PRINT : GOSUB 450: PRINT : INPUT "ENTER VALUE AFTER (X)# OF YEARS..$";T: PRINT : INPUT "ENTER NOMINAL INTEREST RATE......%";I: PRINT : INPUT "HOW MANY DEPOSITS EACH YEAR......#";N: PRINT : INPUT "ENTER NUMBER OF YEARS............#";Y0: PRINT 1250 INPUT "ENTER NUMBER OF MONTHS...........#";M:Y = (12 *Y0 +M)/12: PRINT :I = I/N/100:R = T *I/((I +1) ^(N *Y) -1): GOSUB 460: SPEED= 100: & PRINT USE" REGULAR DEPOSITS ARE #$####.##";R: PRINT : SPEED= 255: GOSUB 460 1260 GOSUB 1500: ON GT = 1 GOTO 1240: ON GT = 2 GOTO 20 1270 POKE 34,0: HOME : GOSUB 450: PRINT " MORTGAGE AMORTIZATION TABLE": PRINT : GOSUB 450: PRINT : INPUT "ENTER AMOUNT OF REGULAR PAYMENT.$";R: PRINT 1275 INPUT "ENTER TERM IN YEARS.............#";Y: PRINT : INPUT "ENTER PRINCIPAL AMOUNT..........$";P: PRINT : INPUT "ENTER ANNUAL INTEREST RATE......%";I5: PRINT :I5 = I5/100 1280 INPUT "NUMBER OF PAYMENTS PER/YEAR.....#";N: PRINT : INPUT "PRINTING TO START AT..YEAR (1-30)";X:C1 = 0:I2 = 0:I3 = 0:J0 = 0:N1 = N:K = 66:B0 = P:A1 = 0:A2 = 0: IF INT(Y) <1 THEN 1410 1290 TEXT : HOME : & PRINT USE"PRINCIPAL AMOUNT......... #$######.##";P: & PRINT USE"INTEREST RATE............ ##.###%";I5 *100: & PRINT USE"TERM IN YEARS............ ###";Y: & PRINT USE"REGULAR PAYMENT.......... #$###.##";R: GOSUB 460: PRINT " MO. INTEREST AMOUNT ENDING" 1300 PRINT " CHARGE AMORTIZED BALANCE": PRINT : POKE 34,9: FOR J0 = 1 TO INT(Y) 1310 HOME : FOR J1 = 1 TO N1:I1 = INT((B0 *I5/N) *100 +.5)/100:I1 = INT((B0 *I5/N) *100 +.5)/100:C1 = C1 +1:A = R -I1:A1 = A1 +A:B0 = P -A1: IF C1 < >N *Y THEN 1330 1320 R = R +B0:A = A +B0:A1 = A1 +B0:B0 = 0 1330 I2 = I2 +I1:I3 = I3 +I1:A2 = A2 +A: IF J0 <X THEN 1350 1340 & PRINT USE"#### ######.## ######.## ######.##";J1,I1,A,B0 1350 NEXT J1: IF C1 < >N *Y THEN 1370 1360 PRINT : & PRINT USE"LAST PAYMENT IS #$####.##";R 1370 IF J0 <X THEN 1390 1380 PRINT "YEAR ";J0: & PRINT USE" ######.## ######.##";I3,A2: 1383 INVERSE : PRINT "PRESS (RETURN) TO CONTINUE...";: NORMAL 1385 GET A$: IF ASC(A$) < >13 THEN 1385 1390 IF J0 >Y THEN 1420 1400 I3 = 0:A2 = 0: NEXT J0: IF Y = J0 -1 THEN 1420 1410 N1 = ((Y - INT(Y)) *12)/12 *N: GOTO 1310 1420 GOSUB 460 1430 GOSUB 1500: ON GT = 1 GOTO 1270: ON GT = 2 GOTO 20 1440 PRINT CHR$(4)"BLOAD PU": CALL 34048: RETURN 1500 VTAB 23: CALL -958: INPUT "WANT ANOTHER RUN (Y/N) ? ";A$ 1530 ON LEFT$(A$,1) < >"Y" AND LEFT$(A$,1) < >"y" AND LEFT$(A$,1) < >"N" AND LEFT$(A$,1) < >"n" GOTO 1500: IF LEFT$(A$,1) = "Y" OR LEFT$(A$,1) = "y" THEN GT = 1 1540 IF LEFT$(A$,1) = "N" OR LEFT$(A$,1) = "n" THEN GT = 2 1550 RETURN 2000 ERR% = PEEK(222):LINE% = PEEK(218) + PEEK(219) *256 2010 IF ERR% = 255 THEN RESUME 2020 IF ERR% = 69 OR ERR% = 133 THEN 3000: REM OVERFLOW/DIVISION BY ZERO 2030 PRINT "ERROR "ERR%" AT LINE "LINE%: STOP 3000 PRINT : PRINT CHR$(7)"THE FIGURES YOU HAVE ENTERED ARE INVALIDFOR THIS PARTICULAR PROBLEM." 3010 PRINT : PRINT 3012 PRINT "PRESS RETURN TO CONTINUE OR ESC TO END "; 3020 GET A$: IF ASC(A$) = 13 THEN 20 3030 IF ASC(A$) < >27 THEN 3020 4000 PRINT : PRINT CHR$(4)"-/TUTOR/BASIC.SYSTEM"